iT邦幫忙

2023 iThome 鐵人賽

DAY 1
1

OSI模型

OSI(Open Systems Interconnection)模型是一個網絡架構模型,由七個層次組成。從底層到頂層分別是:實體層、資料連結層、網路層、傳輸層、會議層、展示層和應用層。每一層都有其專屬的任務和協議,用於確保網絡通信的順利進行。

  1. 實體層(Physical Layer): 這一層處理與硬件相關的事項,包括電壓、電流、編碼以及信號線路。
  2. 資料連結層(Data Link Layer): 主要負責創建和解除網絡連接。它使用MAC地址來確保IP資料單元能夠到達正確的目的地。
  3. 網路層(Network Layer): 這一層負責IP資料單元的路由和轉發,以及網絡地址(IP地址)的選擇和管理。
  4. 傳輸層(Transport Layer): 它提供了端到端的通信服務,可以保證IP資料單元按照順序和完整性來傳輸。
  5. 會議層(Session Layer): 負責在兩個通信系統之間建立、管理和終止會話(Session)。
  6. 展示層(Presentation Layer): 這一層處理數據的編碼和解碼,包括數據結構的轉換和數據的加密或解密。
  7. 應用層(Application Layer): 這是最接近用戶的一層,提供了多種應用服務,例如電子郵件(SMTP)、文件傳輸(FTP)和網頁瀏覽(HTTP)。

TCP/IP 模型

TCP/IP 模型是另一種網絡架構模型,通常分為四個層次:連接層、網際網路層、傳輸層和應用層。這個模型是網際網路的基礎,廣泛用於各種網絡通信。

  1. 網路存取層(Link Layer): 相當於OSI模型的實體層和資料連結層,負責物理和數據鏈路問題。
  2. 網際互聯層(Internet Layer): 負責IP地址的分配和IP資料單元的路由。
  3. 傳輸層(Transport Layer): 同OSI模型的傳輸層,負責確保IP資料單元的正確傳輸。
  4. 應用層(Application Layer): 包含各種用於數據交換、電子郵件、文件傳輸等的協議。

IP、TCP、UDP與DNS

IP

運作在網際網路層,負責定位和定義由多個連接網絡組成的網絡中的機器。

  • 主要功能:

    1. 地址定位: 每一個接入網際網路的設備都會有一個唯一的IP地址,用以定位該設備。
    2. 路由和轉發: 當IP資料單元需要從一個網絡傳輸到另一個網絡時,IP協定負責找到最佳路徑並將IP資料單元轉發到正確的目的地。
    3. 分片和重組: 如果網絡間有最大傳輸單位(MTU)的不同,IP協定可以將大IP資料單元分片成較小的單位,並在達到目的地後重新組合。
    4. 錯誤處理: IP協定包括一些基本的錯誤檢測和報告機制,但不負責錯誤修復。
  • IP版本:

    • IPv4: 目前最廣泛使用的版本,但由於地址空間有限,逐漸被IPv6取代。
    • IPv6: 為了解決IPv4地址耗盡的問題,提供了更多的地址空間。
  • IPv4 vs IPv6 :

IPv4 IPv6
位址數量 2的32次方 2的128次方
長相 ex: 210.98.3.20 ex: 2001:0db8:86a3:08d3:1319:8a2e:0370:7344
安全性 IPSec預設不開啟 IPSec預設不開啟
QoS機制 表頭欄位不支援 表頭欄位支援

TCP(Transmission Control Protocol)

運作在傳輸層,為兩台電腦之間提供可靠的、有序的和無差錯的數據通信。

  • 主要功能:

    1. 連接建立和終止: TCP使用三次握手(Three-Way Handshake)來建立一個連接,並用四次握手來終止連接。
    2. 數據傳輸: TCP確保數據以有序,無差錯的方式從源點傳送到目標點。
    3. 流量控制: 透過窗口機制,TCP能確保數據傳輸的流暢,防止網絡擁塞。
    4. 錯誤檢測與修復: TCP利用校驗和(Checksum)來檢測數據是否在傳輸過程中出現錯誤,並使用自動重傳(Automatic Retransmission)來修復丟失或出錯的IP資料單元。
    5. 可靠性: 能夠確保在網絡不穩定或IP資料單元丟失的情況下,數據仍能準確無誤地到達目標。
  • How?

    1. 建立連接: 通過三次握手來建立連接:
      1. SYN1(同步): 客戶端發送一個SYN(synchronize)包到服務器,表示希望建立連接。
      2. SYN2-ACK1(同步確認): 服務器收到SYN包後,返回一個SYN-ACK(synchronize-acknowledgment)包作為回應。
      3. ACK2(確認): 客戶端再次發送一個ACK(acknowledgment)包給服務器,確認已經收到了SYN-ACK包。
    2. 數據傳輸: 數據被切割為小的IP資料單元,並按照特定的順序進行傳送。
    3. 確認機制: 每傳送一個IP資料單元,都需要接收端回傳一個確認(ACK)。
    4. 終止連接: 通過四次握手來終止連接。

UDP(User Datagram Protocol)

在傳輸層運作,較為簡單、快速,但不保證資料的可靠性(數據的順序或完整性)。

  • 主要功能:

    1. 無連接: UDP不需要建立和終止連接,這意味著它能更快地開始傳輸數據。
    2. 數據傳輸: 將數據封裝成IP資料單元(Datagram)並直接發送,而不確保其順序或完整性。
    3. 低延遲: 由於沒有連接建立和數據確認過程,UDP通常具有比TCP更低的延遲。
    4. 簡單性: UDP協定的頭部信息較少,進而減少了數據報的大小和處理複雜性。
  • How?

    1. 封裝IP資料單元: 將應用層數據封裝成UDPIP資料單元。
    2. 發送IP資料單元: 直接將IP資料單元發送到目標地址,無需先建立連接。
    3. 接收IP資料單元: 目標端接收到IP資料單元後直接處理,不進行確認。
  • 應用場景:

    • 串流媒體服務: 如影片播放,實時性優於數據完整性。
    • VoIP(語音通過網際網路協定): 如Skype或Zoom,需要快速傳輸但可以容忍一些數據丟失。
    • 線上遊戲: 高實時性要求。
    • DNS查詢: 通常只需要一個簡單的請求和應答。

DNS(Domain Name System)

在應用層運作,將人類可讀的網址轉換為 IP 地址。如www.example.com)轉換為相應的IP地址(如192.0.2.1)的分散式系統。

  • 主要功能:

    1. 名稱解析: 將域名轉換成相應的IP地址。
    2. 反向解析: 將IP地址轉換回對應的域名。
    3. 緩存: 臨時存儲先前查詢的結果以提高效率。
    4. 負載平衡: 通過返回不同的IP地址,可以將用戶流量分散到不同的服務器。
  • How?

    1. 查詢開始: 當你嘗試訪問一個網站(例如www.example.com)時,瀏覽器會首先問問你的本地DNS服務器是否知道這個域名對應的IP地址。
    2. 轉發請求: 如果本地DNS服務器不知道,它會轉發這個請求到其他更高級的DNS服務器。
    3. 獲取地址: 最終,某個DNS服務器會知道這個IP地址,並將這個信息返回給發起請求的DNS服務器。
    4. 返回結果: 本地DNS服務器將這個IP地址返回給你的瀏覽器。
    5. 緩存: 這個域名和IP地址的對應關係會在本地DNS服務器上臨時儲存,以便下次更快地解析。
  • 應用場景:

    • 網站訪問: 當你在瀏覽器輸入網址時。
    • 電子郵件傳送: 用於查找郵件服務器的IP地址。
    • 網絡服務: 其他各種需要將域名轉換為IP地址的網絡服務。

小測驗

  • OSI模型由多少層組成?
  • 在TCP/IP模型中,哪一層負責IP地址?
  • TCP和UDP主要運作在哪一層?
  • DNS運作在OSI模型的哪一層?
  • 簡述UDP的特點。

資料參考

https://vocus.cc/article/618c7853fd8978000108c4d5
https://hackmd.io/@Pang-Chang/BkQK8_tjF
https://www.canva.com/
https://www.ithome.com.tw/tech/92046


下一篇
[Day 2] Web 基礎知識
系列文
從 Moblie Development 主題被損友洗腦鬼轉 Security 的我真的可以完賽嗎?30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言